Amazon Aurora Limitless Databaseの利用費を試算してみる

Amazon Aurora Limitless Databaseの利用費を試算してみる

Clock Icon2024.12.02

Amazon Aurora Limitless DatabaseはAWSが提供する、シャーディングによる水平スケールで書き込み性能やペタバイトクラスのデータに対応したデータベースです。

このモンスター級データベースを動作検証する際に、多くの人が気になるであろう、利用費について解説します。

Amazon Aurora Limitless Databaseで発生するコスト

Limitless Databaseは主に以下の3点の利用費が発生します

  1. コンピューティングリソース(IO-OptimizedLimitlessACUUsage-Limitless)
  2. ストレージ(IO-OptimizedStorageUsage)
  3. バックアップ(BackupUsage)

limitless_high_level_arch_GA

引用元

ストレージとバックアップは従来のAuroraと同じ考えを適用でき、コンピューティングリソースについては、注意が必要です。

Limitless DatabaseのコンピューティングはServerless v2で動作し、その性能は Aurora Capacity Unit(ACU)という単位で管理されます。

このコンピューティングリソースの大事なポイントは以下の3点です

  1. Serverless v2はStandardではなくI/O Optimizedであること
  2. クラスターに設定した最小ACUによりノード数やシャーディング数が決定されるが、利用費の観点ではクラスターが利用するACUで決定されること
  3. 可用性のための冗長構成(スタンバイ数)によりコンピューティングの費用が1~3倍になること

Serverless v2のStandardとI/O Optimizedの違い

Serverless v2はStandardとI/O Optimizedの2種類があります。

Standardは汎用的に利用可能な一方で、I/O操作について別途費用(東京リージョンの場合は $0.24/100万リクエスト)が発生します。

I/O Optimizedは名前の通りI/O性能に優れています。I/Oの操作費用が発生しない一方で、単価はStandardに比べて割高です。

東京リージョンでStandardとI/O OptimizedのACU単価は以下の通りです。

  • Standard : $0.15
  • I/O Optimized : $0.20

東京・大阪リージョンのServerless v2のACU単価は2024年11月下旬に大幅値下げされています。

https://dev.classmethod.jp/articles/aurora-serverless-v2-25-percent-off-tokyo-osaka/

ACUとノード数の関係

Limitless DatabaseクラスターのコンピューティングリソースはServerless v2で動作し、最大・最小ACUを設定できます。
このクラスターにはシャーディングのためのルーティング等を行うルーターノードとシャーディングされたコンピューティングノードが存在します。

このルーター数とシャード数は次のドキュメントにあるように、クラスターの最大ACUで決定されます。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/limitless-cluster.html

例えば、最大ACUを最小の16に設定すると、ルーター2台、シャード2個の4ノード構成となります。一方で、最大ACUを上限いっぱいの2000にすると、ルーター7台、シャード13台の20台構成となります。

利用費という観点では、ルーターノード数やシャード数を意識する必要はなく、クラスターがどれだけのACUを消費しているかで利用費が決定されます。

この利用しているACUはメトリクス DBShardGroupCapacityで確認できます。

スタンバイのACUはプライマリに追従

Limitless Databaseは、コンピューティングノードを別AZのスタンバイノードにフェイルオーバーさせる冗長化("redundancy")が可能です。
冗長構成はスタンバイなし(redundancy=0)からフェイルオーバー先スタンバイを2つもつ(redundancy=2)までの範囲で指定できます。

limitless-database-redundancy

スタンバイのACUはWriterと連動します。つまり、スタンバイ数(0~2)に応じて、コンピューティングの費用も1~3倍になります。

Limitless Databaseのコンピューティングを費用を求めてみる

以上を踏まえて、Limitless Databaseのコンピューティング費用を具体的に求めてみます。

スタンバイ無しのミニマム構成

クラスターのACUの最大・最小を最小値の16(最小構成)でredundancyが0の場合を考えます。

東京リージョンのAurora I/O-Optimizedのper ACU hourは$0.20のため、クラスター単位でのインスタンス時間単価は 16(ACU) * 0.20(ACU-Hour) * 1 = $3.2 となります。

ルーターノード数(2)やシャード数(2)を意識する必要はありません。

スタンバイ2台構成

同じACU設定でredundancyを2とすると、クラスター単位での時間単価は 16 * 0.20 * (1+2) = $9.6 となります。

まとめ

Amazon Aurora Limitless Databaseはシャーディングにより書き込み性能がスケールするデータベースであり、ルーターやデータベースシャードグループなど複数のコンポーネントで構成されます。コンピューティングリソースはServerless v2によりワークロードに応じてスケールします。

クラスターに設定した最大ACUによってルーターノード数やシャード数は変動しますが、コンピューティングリソースの費用という観点では、クラスターが消費しているACUでベースラインが決定し、スタンバイ数に応じてクラスター全体の費用は1~3倍となります。

検証の際は、可用性(フェイルオーバー等)やシャーディングによるライトスループットなど、用途に応じてLimitless Databaseクラスターを構成しましょう。

参考

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.